package game;

import java.awt.*;

/**
 * 描述：炮弹类
 *
 * @author wangb
 * @version 1.0
 * create 2018-11-01-23:30
 */
public class Shell extends GameObject{
    double degree;//炮弹类特有的属性。
    public Shell(){
        x = 200;
        y = 200;
        width = 10 ;
        height = 10;
        speed = 3;//设置炮弹的速度。
        degree =Math.random ()*Math.PI*2 ;//炮弹的角度，设置随机值.Math.random是一个（0，1）的随机数。

    }

    /**
     * 将炮弹画出来
     * @param g 画笔
     */
    public void draw(Graphics g){
        Color c= g.getColor ();
        g.setColor (Color.YELLOW);
        g.fillOval ((int) x,(int) y,width,height);//填充一个炮弹

        //沿着任意角度去飞
        x+=speed*Math.cos (degree);
        y+=speed*Math.sin (degree);

        //设计反弹
        if ( x<0 || x> Constant.GAME_WIDTH - width)
        {
            //碰到左右边界
            degree = Math.PI - degree;
        }

        if ( y < 0 || y > Constant.GAME_HEIGHT - height )
        {
            //碰到了上下边界
            degree = -degree;
        }
        g.setColor (c);
    }
}
